/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package Commons;

import java.io.Serializable;
import java.util.HashMap;

/** Questa classe permette di costruire l'indirizzo di un host impostandone l'IP e la porta.
*
* @author Team5
*/
public class Address implements Serializable{

    //Attributes
    private int port;
    private String IP;
    private HashMap<Integer,Integer> vectorClock;
    //Operations

    /* Metodo costruttore della classe
     *
     */
    public Address(){
        this.vectorClock= new HashMap<Integer,Integer>();
    }

    /** Questo metodo restituisce il numero di porta contenuto nell'indirizzo
     *
     * @return numero di porta dell'indirizzo
     */
    public int getPort(){
        return this.port;
    }

    /** Questo metodo permette di impostare il valore
     * del numero di porta contenuta nell'indirizzo
     *
     * @param val numero della porta contenuto nell'indirizzo
     */
    public void setPort(int val){
        this.port=val;
    }

    /** Questo metodo restiutisce il numero dell'IP
     * contenuto nell'indirizzo
     * 
     * @return numero di IP contenuto nell'indirizzo
     */
    public String getIP(){
        return this.IP;
    }

    /** Questo metodo permette di impostare il valore
     * del numero di IP contenuto nell'indirizzo
     *
     * @param val numero dell'IP contenuto nell'indirizzo
     */
    public void setIP(String val){
        this.IP=val;
    }
        /**STEP 2:
     * Fa parte dei metodi necessari per trasferire le informazioni del vectorClock necessarie per la gestione dell'ordinamento del logging globale.
     * @return vectorClock proveniente dall'entità precedente.
     */
    public HashMap<Integer,Integer> getVectorClock(){
        return this.vectorClock;
    }

    /**STEP 2:
     * Fa parte dei metodi necessari per trasferire le informazioni del vectorClock necessarie per la gestione dell'ordinamento del logging globale.
     * @param vectorClock
     */
    public void setVectorClock(HashMap<Integer,Integer> vectorClock){
        this.vectorClock=vectorClock;
    }
}
